#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QFuture>
#include <QFutureWatcher>
#include <QtConcurrentRun>
#include <QMessageBox>

namespace Ui {
    class MainWindow;
}

class MainWindow : public QMainWindow {
    Q_OBJECT
public:
    MainWindow(QWidget *parent = 0);
    ~MainWindow();


public slots:
    void openMonoFile();
    void openSeqFile();
    void openOutputFile();
    void exitProgram();
    void startCalc();
    void startMonoDiscovery();
    void update();
    void monoSearchDialog();
    void monoSearchDialogFinished();
    void onChangeTab(int tabNum);
    void updateStatus(QString status);
    void setResultsTag(QString rTag);
    void setResultsTagString(QString rTag);
    void setSpinBox(int value);
    void setSlider(int value);

protected:
    void changeEvent(QEvent *e);


private:
    Ui::MainWindow *ui;
    QString monoFileName;
    QString seqFileName;
    QString outFileName;
    QFuture<void> *future;
    QFutureWatcher<void> *watcher;
    int runMode;



};

#endif // MAINWINDOW_H
